Operators এবং Statements Apex-এর গুরুত্বপূর্ণ অংশ, যেগুলি প্রোগ্রামিং লজিক তৈরি ও কার্যকর করতে ব্যবহৃত হয়। অপারেটরস বিভিন্ন মানের মধ্যে অপারেশন চালানোর জন্য ব্যবহৃত হয়, আর স্টেটমেন্টস কার্যক্রম বা লজিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়। নিচে Operators এবং Statements নিয়ে বিস্তারিত আলোচনা করা হলো:
Apex-এ বিভিন্ন ধরনের অপারেটরস রয়েছে, যা ভ্যারিয়েবলের উপর অপারেশন চালানোর জন্য ব্যবহৃত হয়। সাধারণত Apex-এ নিম্নোক্ত ধরনের অপারেটরস ব্যবহৃত হয়:
Arithmetic Operators সাধারণত গণনা বা হিসাব করার জন্য ব্যবহৃত হয়।
+
(যোগ): দুই মান যোগ করতে ব্যবহৃত।-
(বিয়োগ): একটি মান থেকে অন্য মান বিয়োগ করতে ব্যবহৃত।*
(গুণ): দুই মান গুণ করতে ব্যবহৃত।/
(ভাগ): একটি মানকে অন্য মান দিয়ে ভাগ করতে ব্যবহৃত।%
(মডুলাস): একটি মানকে অন্য মান দিয়ে ভাগ করার পর অবশিষ্টাংশ খুঁজতে ব্যবহৃত।উদাহরণ:
Integer a = 10;
Integer b = 5;
Integer result = a + b; // result = 15
Comparison Operators মানের তুলনা করতে ব্যবহৃত হয় এবং true
বা false
রিটার্ন করে।
==
: দুই মান সমান কিনা তা চেক করে।!=
: দুই মান অসামান্য কিনা তা চেক করে।>
: প্রথম মান দ্বিতীয় মানের থেকে বড় কিনা তা চেক করে।<
: প্রথম মান দ্বিতীয় মানের থেকে ছোট কিনা তা চেক করে।>=
: প্রথম মান দ্বিতীয় মানের থেকে বড় বা সমান কিনা তা চেক করে।<=
: প্রথম মান দ্বিতীয় মানের থেকে ছোট বা সমান কিনা তা চেক করে।উদাহরণ:
Integer a = 10;
Integer b = 5;
Boolean isEqual = (a == b); // isEqual = false
Logical Operators সাধারণত লজিক্যাল স্টেটমেন্ট তৈরি করতে ব্যবহৃত হয়, যা true
বা false
মান রিটার্ন করে।
&&
(AND): দুইটি শর্ত true
হলে true
রিটার্ন করে।||
(OR): যেকোনো একটি শর্ত true
হলে true
রিটার্ন করে।!
(NOT): শর্ত উল্টে দেয়, অর্থাৎ true
কে false
এবং false
কে true
করে।উদাহরণ:
Boolean a = true;
Boolean b = false;
Boolean result = a && b; // result = false
Assignment Operators ভ্যারিয়েবলে মান অ্যাসাইন করতে ব্যবহৃত হয়।
=
: একটি মান অ্যাসাইন করতে ব্যবহৃত হয়।+=
: বর্তমান মানের সাথে নতুন মান যোগ করে অ্যাসাইন করে।-=
: বর্তমান মান থেকে নির্দিষ্ট মান বিয়োগ করে অ্যাসাইন করে।*=
: বর্তমান মানের সাথে নির্দিষ্ট মান গুণ করে অ্যাসাইন করে।/=
: বর্তমান মানকে নির্দিষ্ট মান দিয়ে ভাগ করে অ্যাসাইন করে।উদাহরণ:
Integer a = 10;
a += 5; // a = 15
Statements মূলত কার্যক্রম বা লজিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়। Apex-এ সাধারণভাবে ব্যবহৃত Statements গুলো হলো:
Conditional Statements ব্যবহার করে শর্ত সাপেক্ষে কার্যক্রম সম্পন্ন করা যায়। Apex-এ সবচেয়ে বেশি ব্যবহৃত Conditional Statements হলো if
, else if
, else
, এবং switch
।
true
হলে নির্দিষ্ট কার্যক্রম সম্পন্ন করে।false
হলে অন্য শর্ত চেক করে।false
হলে কার্যকর হয়।উদাহরণ:
Integer age = 18;
if (age >= 18) {
System.debug('Eligible for voting');
} else {
System.debug('Not eligible for voting');
}
Loop Statements ব্যবহার করে একই কার্যক্রম বারবার সম্পন্ন করা যায়। Apex-এ ব্যবহৃত Loop Statements গুলো হলো for
, while
, এবং do-while
।
true
থাকা পর্যন্ত লুপ চালায়।উদাহরণ:
for (Integer i = 0; i < 5; i++) {
System.debug('Iteration: ' + i);
}
Exception Handling ব্যবহার করে কোডের ত্রুটি হ্যান্ডেল করা যায়। Apex-এ try
, catch
, এবং finally
ব্যবহৃত হয়।
উদাহরণ:
try {
Integer result = 10 / 0;
} catch (Exception e) {
System.debug('An error occurred: ' + e.getMessage());
} finally {
System.debug('This will always execute');
}
Operators এবং Statements ব্যবহার করে Apex-এ কার্যকরী ও পরিশীলিত লজিক তৈরি করা যায়।
Apex-এ Arithmetic এবং Logical Operators প্রোগ্রামে গণিত এবং লজিক্যাল অপারেশন সম্পাদনের জন্য ব্যবহৃত হয়। এসব অপারেটর ডেটার উপর বিভিন্ন ধরণের গণনা ও তুলনা সম্পন্ন করে। নিচে Apex-এ ব্যবহৃত Arithmetic এবং Logical Operators এর বিস্তারিত ব্যাখ্যা করা হলো।
Arithmetic Operators মূলত গণিত সম্পর্কিত অপারেশন করতে ব্যবহৃত হয়। এগুলোর মাধ্যমে যোগ, বিয়োগ, গুণ, ভাগ এবং মডুলাস অপারেশন করা যায়।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
+ | যোগ | a + b |
- | বিয়োগ | a - b |
* | গুণ | a * b |
/ | ভাগ | a / b |
% | মডুলাস (বাকি) | a % b |
Integer a = 10;
Integer b = 3;
Integer sum = a + b; // যোগফল: 13
Integer difference = a - b; // বিয়োগফল: 7
Integer product = a * b; // গুণফল: 30
Integer quotient = a / b; // ভাগফল: 3
Integer remainder = a % b; // মডুলাস: 1
System.debug('Sum: ' + sum);
System.debug('Difference: ' + difference);
System.debug('Product: ' + product);
System.debug('Quotient: ' + quotient);
System.debug('Remainder: ' + remainder);
Logical Operators মূলত লজিক্যাল অপারেশন সম্পন্ন করতে ব্যবহৃত হয়, যেখানে এক বা একাধিক শর্ত মিলে একটি চূড়ান্ত ফলাফল দেয়। Apex-এ তিনটি প্রধান Logical Operators রয়েছে: AND, OR, এবং NOT।
অপারেটর | নাম | বর্ণনা | উদাহরণ |
---|---|---|---|
&& | Logical AND | দুইটি শর্ত সত্য হলে পুরো অপারেশন সত্য হবে। | (a > b) && (a > c) |
` | ` | Logical OR | |
! | Logical NOT | শর্তের বিপরীত মান প্রদান করে; সত্যকে মিথ্যা এবং মিথ্যাকে সত্যে পরিবর্তন করে। | !(a > b) |
Boolean x = true;
Boolean y = false;
// Logical AND
Boolean resultAnd = x && y; // false, কারণ একটি শর্ত মিথ্যা
// Logical OR
Boolean resultOr = x || y; // true, কারণ একটি শর্ত সত্য
// Logical NOT
Boolean resultNot = !x; // false, কারণ x সত্য ছিল
System.debug('Logical AND: ' + resultAnd);
System.debug('Logical OR: ' + resultOr);
System.debug('Logical NOT: ' + resultNot);
নিচের উদাহরণে, Arithmetic এবং Logical Operators ব্যবহার করে শর্তের ভিত্তিতে গণনা করা হয়েছে:
public class OperatorExample {
public void calculate(Integer a, Integer b) {
// Arithmetic Operations
Integer sum = a + b;
Integer difference = a - b;
Integer product = a * b;
Integer quotient = a / b;
Integer remainder = a % b;
System.debug('Sum: ' + sum);
System.debug('Difference: ' + difference);
System.debug('Product: ' + product);
System.debug('Quotient: ' + quotient);
System.debug('Remainder: ' + remainder);
// Logical Operations
Boolean isSumPositive = sum > 0;
Boolean isDifferenceNegative = difference < 0;
if (isSumPositive && !isDifferenceNegative) {
System.debug('Sum is positive and difference is not negative.');
} else if (isSumPositive || isDifferenceNegative) {
System.debug('Either sum is positive or difference is negative.');
} else {
System.debug('Neither sum is positive nor difference is negative.');
}
}
}
Apex প্রোগ্রামিং এ Arithmetic এবং Logical Operators ব্যবহার করে বিভিন্ন ধরণের গণিত ও লজিক্যাল অপারেশন সম্পন্ন করা সহজ হয়, যা ডেটা ম্যানিপুলেশন এবং শর্ত নির্ধারণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Conditional Statements Apex-এ লজিক্যাল শর্তগুলো পরীক্ষা করে নির্দিষ্ট কার্যক্রম পরিচালনা করতে ব্যবহার করা হয়। if
, else if
, এবং else
হলো সবচেয়ে সাধারণ Conditional Statements, যেগুলো নির্দিষ্ট শর্ত পূরণের উপর ভিত্তি করে কোডের বিভিন্ন অংশ কার্যকর করতে সহায়ক।
if
স্টেটমেন্ট ব্যবহার করে কোনো শর্ত true
হলে নির্দিষ্ট কোড ব্লক কার্যকর করা হয়। যদি শর্তটি false
হয়, তাহলে কোড ব্লকটি কার্যকর হয় না।
Syntax:
if (condition) {
// Condition true হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer age = 20;
if (age >= 18) {
System.debug('Eligible for voting');
}
উপরের উদাহরণে, age
যদি ১৮ বা তার বেশি হয়, তাহলে 'Eligible for voting'
বার্তাটি প্রদর্শিত হবে।
else if
স্টেটমেন্ট ব্যবহার করে যদি প্রথম if
শর্তটি false
হয়, তাহলে একটি নতুন শর্ত চেক করা হয়। একাধিক শর্ত চেক করার জন্য else if
ব্যবহার করা হয়।
Syntax:
if (condition1) {
// Condition1 true হলে এই কোড ব্লক কার্যকর হবে
} else if (condition2) {
// Condition2 true হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer score = 75;
if (score >= 90) {
System.debug('Grade A');
} else if (score >= 75) {
System.debug('Grade B');
} else if (score >= 60) {
System.debug('Grade C');
}
এখানে score
যদি ৭৫ বা তার বেশি হয়, তবে 'Grade B'
বার্তাটি প্রদর্শিত হবে। যদি score
৯০ বা তার বেশি হয়, তাহলে 'Grade A'
প্রদর্শিত হবে।
else
স্টেটমেন্ট ব্যবহার করে সবশেষে এমন কোড ব্লক কার্যকর করা হয়, যা আগের সব শর্তগুলো false
হলে চালানো হয়। অর্থাৎ, কোনো শর্ত পূরণ না হলে else
অংশটি কার্যকর হয়।
Syntax:
if (condition1) {
// Condition1 true হলে এই কোড ব্লক কার্যকর হবে
} else if (condition2) {
// Condition2 true হলে এই কোড ব্লক কার্যকর হবে
} else {
// আগের সব শর্ত false হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer score = 50;
if (score >= 90) {
System.debug('Grade A');
} else if (score >= 75) {
System.debug('Grade B');
} else if (score >= 60) {
System.debug('Grade C');
} else {
System.debug('Grade D');
}
এখানে, যদি score
৬০-এর কম হয়, তাহলে 'Grade D'
বার্তাটি প্রদর্শিত হবে কারণ আগের সব শর্তগুলো false
হয়েছে।
true
হলে নির্দিষ্ট কোড ব্লক কার্যকর হয়।false
হলে নতুন শর্ত চেক করে।false
হলে কার্যকর হয়।এই Conditional Statements ব্যবহার করে Apex-এ কার্যকরী এবং লজিক্যাল ফ্লো তৈরি করা সম্ভব, যা বিভিন্ন শর্তের উপর ভিত্তি করে ভিন্ন ভিন্ন কার্যক্রম পরিচালনা করতে সহায়ক।
Switch Case স্টেটমেন্টটি Apex-এ একাধিক শর্তের ভিত্তিতে কোড চালাতে ব্যবহার করা হয়। এটি if-else
স্টেটমেন্টের একটি উন্নত সংস্করণ, যেখানে একটি একক ভেরিয়েবলের বিভিন্ন মান যাচাই করা হয় এবং প্রতিটি মান অনুযায়ী নির্দিষ্ট কোড ব্লক চালানো হয়।
Apex-এ switch
স্টেটমেন্ট case
এবং when
ব্যবহার করে বিভিন্ন মানের উপর ভিত্তি করে কার্যক্রম নির্ধারণ করে।
Apex-এ switch
স্টেটমেন্টের মাধ্যমে ভেরিয়েবলের বিভিন্ন মান যাচাই করে প্রতিটি মানের জন্য নির্দিষ্ট কোড ব্লক চালানো হয়। else
-এর পরিবর্তে when else
ব্যবহার করা হয়, যা ডিফল্ট মানের জন্য কোড চালায়।
switch on <variable> {
when <value1> {
// Code block for value1
}
when <value2> {
// Code block for value2
}
when <value3> {
// Code block for value3
}
when else {
// Default code block if no case matches
}
}
নিচের উদাহরণে, একটি String ভেরিয়েবলের মান day
এর উপর ভিত্তি করে কোন দিনটি কাজের দিন এবং কোন দিনটি ছুটির দিন তা নির্ধারণ করা হয়েছে।
public class SwitchExample {
public static void checkDay(String day) {
switch on day {
when 'Monday' {
System.debug('It\'s a working day.');
}
when 'Friday' {
System.debug('It\'s the last working day of the week.');
}
when 'Saturday', 'Sunday' {
System.debug('It\'s a holiday!');
}
when else {
System.debug('Unknown day.');
}
}
}
}
day
এর মান 'Monday'
হয়, তাহলে 'It’s a working day.'
প্রিন্ট হবে।day
এর মান 'Saturday'
বা 'Sunday'
হয়, তাহলে 'It’s a holiday!'
প্রিন্ট হবে।day
এর মান কোনো মেলে না, তাহলে when else
অংশটি চালিত হবে।switch
স্টেটমেন্টে একাধিক মান একই case
-এ ব্যবহার করা যেতে পারে, যা নির্দিষ্ট মানগুলির জন্য একই কোড চালাতে সাহায্য করে।
public class GradeExample {
public static void getGradeMessage(String grade) {
switch on grade {
when 'A', 'B' {
System.debug('Excellent!');
}
when 'C' {
System.debug('Good Job');
}
when 'D' {
System.debug('Needs Improvement');
}
when else {
System.debug('Invalid Grade');
}
}
}
}
grade
এর মান যদি 'A'
বা 'B'
হয়, তাহলে 'Excellent!'
প্রিন্ট হবে।grade
এর মান 'C'
হয়, তাহলে 'Good Job'
প্রিন্ট হবে।grade
এর মান 'D'
হয়, তাহলে 'Needs Improvement'
প্রিন্ট হবে।'Invalid Grade'
প্রিন্ট হবে।Switch Case শুধুমাত্র String নয়, Integer টাইপের জন্যও ব্যবহার করা যায়। নিচের উদাহরণে একটি Integer ভেরিয়েবলের মান যাচাই করে বিভিন্ন মেসেজ প্রিন্ট করা হয়েছে।
public class MonthExample {
public static void getMonthName(Integer month) {
switch on month {
when 1 {
System.debug('January');
}
when 2 {
System.debug('February');
}
when 3 {
System.debug('March');
}
when 4 {
System.debug('April');
}
when else {
System.debug('Invalid Month');
}
}
}
}
month
এর মান 1
হয়, তাহলে 'January'
প্রিন্ট হবে।month
এর মান 2
, 3
, বা 4
হয়, তাহলে সংশ্লিষ্ট মাসের নাম প্রিন্ট হবে।'Invalid Month'
প্রিন্ট হবে।case
-এ একাধিক মান ব্যবহার করা যায়।if-else
স্টেটমেন্টের পরিবর্তে switch
ব্যবহার করে কোড কম্প্যাক্ট এবং দ্রুত করা যায়।Switch Case এর এই ব্যবহার Apex প্রোগ্রামিং-এ লজিক্যাল অপারেশন সহজ এবং কার্যকরী করে। এর মাধ্যমে একাধিক শর্ত একই ভেরিয়েবলের মান অনুযায়ী সহজেই পরিচালনা করা যায়।
লুপ স্ট্রাকচার Apex-এ নির্দিষ্ট একটি কোড ব্লক বারবার চালানোর জন্য ব্যবহৃত হয়। লুপ ব্যবহার করে পুনরাবৃত্তিমূলক কাজ সহজে সম্পন্ন করা যায়। Apex-এ তিনটি সাধারণ লুপ রয়েছে: for
, while
, এবং do-while
।
for লুপ ব্যবহার করে নির্দিষ্ট সংখ্যক বার কোড ব্লক চালানো হয়। এটি সাধারণত সংখ্যা নির্ধারণ করে দেওয়া হয় বা সংগ্রহের উপর ভিত্তি করে চালানো হয়। Apex-এ for লুপ দুটি ধরণের হতে পারে:
এই লুপ ব্যবহার করে একটি নির্দিষ্ট সংখ্যা পর্যন্ত লুপ চালানো হয়।
Syntax:
for (initialization; condition; increment) {
// কোড ব্লক যা বারবার চালানো হবে
}
উদাহরণ:
for (Integer i = 0; i < 5; i++) {
System.debug('Iteration: ' + i);
}
এই উদাহরণে, i
০ থেকে শুরু করে ৫ এর কম পর্যন্ত চলবে এবং প্রতিবার ১ করে বৃদ্ধি পাবে। লুপটি ৫ বার চলবে এবং Iteration: 0
, Iteration: 1
এভাবে আউটপুট দেখাবে।
Enhanced for লুপ সাধারণত সংগ্রহের (যেমন List, Set) উপর চালানো হয় এবং প্রতিটি উপাদানের জন্য লুপ চালায়।
Syntax:
for (DataType element : collection) {
// কোড ব্লক যা প্রতিটি উপাদানের জন্য চালানো হবে
}
উদাহরণ:
List<String> names = new List<String>{'John', 'Jane', 'Alice'};
for (String name : names) {
System.debug('Name: ' + name);
}
এই উদাহরণে, লুপটি names
লিস্টের প্রতিটি উপাদানের জন্য চলবে এবং Name: John
, Name: Jane
, Name: Alice
আউটপুট দেখাবে।
while লুপ একটি শর্ত সত্য (true) থাকা পর্যন্ত কোড ব্লক চালায়। শর্ত মিথ্যা (false) হলে লুপ বন্ধ হয়ে যায়।
Syntax:
while (condition) {
// কোড ব্লক যা শর্ত true থাকা পর্যন্ত চালানো হবে
}
উদাহরণ:
Integer count = 0;
while (count < 3) {
System.debug('Count: ' + count);
count++;
}
এই উদাহরণে, count
৩ এর কম থাকা পর্যন্ত লুপ চলবে এবং প্রতি বার count
এর মান ১ করে বৃদ্ধি পাবে। আউটপুট হবে Count: 0
, Count: 1
, Count: 2
।
do-while লুপ কমপক্ষে একবার কোড ব্লক চালায়, তারপর শর্ত পরীক্ষা করে। অর্থাৎ, শর্ত মিথ্যা হলেও লুপ একবার চালানো হয়।
Syntax:
do {
// কোড ব্লক যা একবার চালানো হবে এবং তারপর শর্ত চেক করা হবে
} while (condition);
উদাহরণ:
Integer count = 0;
do {
System.debug('Count: ' + count);
count++;
} while (count < 3);
এই উদাহরণে, প্রথমে count
এর মান 0
অবস্থায় কোড ব্লক চালাবে এবং তারপর শর্ত চেক করবে। count
৩ এর কম থাকা পর্যন্ত লুপ চলবে, এবং আউটপুট হবে Count: 0
, Count: 1
, Count: 2
।
true
থাকা পর্যন্ত লুপ চালানো হয়।true
থাকলে পুনরায় চালায়।এই লুপগুলো ব্যবহার করে Apex-এ পুনরাবৃত্তিমূলক কাজ সহজে সম্পন্ন করা যায়।
common.read_more